package com.yunxi.order.pojo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yunxi.core.web.DateJsonDeserializer;
import com.yunxi.sys.pojo.AttachVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 零售订单
 * </p>
 *
 * @author
 * @since 2019-06-05
 */
@Data
@ApiModel(value="OrderCustomer对象", description="零售订单")
public class OrderCustomerExportVO implements Serializable {

    @ApiModelProperty(value = "客户编号")
    private String customerNo;

    @ApiModelProperty(value = "客户姓名")
    private String customerName;

    @ApiModelProperty(value = "用户手机号")
    private String customerMobile;

    @ApiModelProperty(value = "证件类型")
    private String certType;

    @ApiModelProperty(value = "用户证件号")
    private String certNo;

    @ApiModelProperty(value = "下订单的企业名称")
    private String companyName;

    @ApiModelProperty(value = "下订单的企业代码(统一社会信用代码)")
    private String companyCode;

    @ApiModelProperty(value = "客户地址")
    private String customerAddress;

    private String cityName;

    @ApiModelProperty(value = "邀请人姓名")
    private String invitorName;

    @ApiModelProperty(value = "邀请人手机")
    private String invitorMobile;

    @ApiModelProperty(value = "订单状态1-->待付款2-->小订付款完成3-->大订已付款，4-->订单已评价5-->已超时6-->小订已取消" +
            "7-->小订申请退款8-->小订退款成功 9-->小订退款失败 10-->同意取消 11-->驳回取消")
    private Integer orderStatus;

    @ApiModelProperty(value = "零售单编号")
    private String orderCustomerNo;

    @ApiModelProperty(value = "订货单号")
    private String orderCarId;

    @ApiModelProperty(value = "创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date createTime;

    @ApiModelProperty(value = "订车类型 1个人 2企业")
    private String bookingType;

    @ApiModelProperty(value = "订车类型名称")
    private String bookingTypeName;

    @ApiModelProperty(value = "车型名称")
    private String vehicleName;

    @ApiModelProperty(value = "车型")
    private String vehicleCode;

    private String colorNameOut;

    private String colorCodeOut;

    private String colorNameIn;

    private String colorCodeIn;

    private String customPackCode;

    private String customPackName;

    @ApiModelProperty(value = "交车方式 1上门2店内")
    private String deliveryType;

    @ApiModelProperty(value = "交车方式 1上门2店内")
    private String deliveryTypeName;

    @ApiModelProperty(value = "预计交车日期")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date deliveryCarDate;


    private BigDecimal smallAmount;//小订金额

    private Date smallPayDate;//小订付款时间

    private Integer smallPayPath;//小订付款途径

    private BigDecimal bigAmount;//大订金额

    @JsonDeserialize(using=DateJsonDeserializer.class)
    private Date bigPayDate;//	大订时间

    private Integer bigPayPath;//大订途径

    @ApiModelProperty(value = "付款方式")
    private String payStyle;

    @ApiModelProperty(value = "付款方式")
    private String payStyleName;


    @ApiModelProperty(value = "开票金额")
    private BigDecimal invoiceMoney;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "销售顾问编号")
    private String salesConsultantNo;

    @ApiModelProperty(value = "订单名称")
    private String orderSubject;

    @ApiModelProperty(value = "购车方案 1-->购车 2-->体验车 3-->畅想车")
    private Integer buyType;

    private String buyTypeName;

    @ApiModelProperty(value = "预估金额")
    private BigDecimal orderAmount;

    @ApiModelProperty(value = "是否上传合同图片0否1是")
    private String isUpload;

    @ApiModelProperty(value = "VIN")
    private String vin;

    @ApiModelProperty(value = "支付流水号")
    private String outTradeNo;

    @ApiModelProperty(value = "渠道商名称")
    private String partnerName;

    @ApiModelProperty(value = "渠道商编号")
    private String partnerCode;

//    @ApiModelProperty(value = "是否安装充电桩0否1是")
//    private Integer isChargingPoint;
//
//    @ApiModelProperty(value = "国家补贴")
//    private BigDecimal stateSubsidy;
//
//    @ApiModelProperty(value = "地方补贴")
//    private BigDecimal localSubsidy;
//
//    @ApiModelProperty(value = "客户经理id")
//    private String fellowId;
//
//    @ApiModelProperty(value = "客户经理姓名")
//    private String fellowName;
//
//    @ApiModelProperty(value = "客户经理手机号")
//    private String fellowMobile;
//
//    @ApiModelProperty(value = "客户经理性别")
//    private String fellowGender;

//    @ApiModelProperty(value = "能量值")
//    private String energyPoint;

//    @ApiModelProperty(value = "交付专员姓名")
//    private String handleStaffName;
//
//    @ApiModelProperty(value = "交车人")
//    private String handleUser;


//    @ApiModelProperty(value = "是否退车")
//    private Integer isCancelVehicle;


    @ApiModelProperty(value = "征信审核状态1待审批，2已通过，3已驳回,4退回补件,5已确认")
    private Integer creditStatus;

    @ApiModelProperty(value = "金融类型 1.金融机构2.银行分期")
    private String finProduct;



}
